• Refactoring

    Updated: 2022-12-14 10:25:00
    Catalog part of martinfowler.com Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon Refactoring is a disciplined technique for restructuring an existing body of code , altering its internal structure without changing its external . behavior Its heart is a series of small behavior preserving transformations . Each transformation called a refactoring does little , but a sequence of these transformations can produce a significant restructuring . Since each refactoring is small , it's less likely to go wrong . The system is kept fully working after each refactoring , reducing the chances that a system can get seriously

  • martinfowler.com

    Updated: 2022-12-14 10:24:53
    Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon Software development is a young profession , and we are still learning the techniques and building the tools to do it effectively . I've been involved in this activity for over three decades and in the last two I've been writing on this website about patterns and practices that make it easier to build useful software . The site began as a place to put my own writing , but I also use it to publish articles by my . colleagues In 2000, I joined Thoughtworks where my role is to learn about the techniques that we've learned to

  • martinfowler.com

    Updated: 2022-12-14 02:24:02
    Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon Software development is a young profession , and we are still learning the techniques and building the tools to do it effectively . I've been involved in this activity for over three decades and in the last two I've been writing on this website about patterns and practices that make it easier to build useful software . The site began as a place to put my own writing , but I also use it to publish articles by my . colleagues In 2000, I joined Thoughtworks where my role is to learn about the techniques that we've learned to

  • Agile Software Guide

    Updated: 2022-12-14 02:24:01
    Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon Agile Software Guide In the last decade agile software development has moved from being a cult technique to an increasing part of the mainstream . I was lucky enough to be at the beginning of this story , with early experiences on the birth project' of Extreme Programming and a co-author of the Manifesto for Agile Software Development Thoughtworks started using agile techniques in 2000 and we've since successfully used them on our projects world-wide . We've learned a huge amount about using agile methods in enterprise

  • Martin Fowler mfowler toot.thoughtworks.com toot.Thoughtworks

    Updated: 2022-12-14 02:23:58
    To use the Mastodon web application , please enable JavaScript . Alternatively , try one of the native apps for Mastodon for your platform .

  • DSL Guide

    Updated: 2022-12-14 02:23:56
    Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon Domain-Specific Languages Guide A Domain-Specific Language DSL is a computer language that's targeted to a particular kind of problem , rather than a general purpose language that's aimed at any kind of software problem . Domain-specific languages have been talked about , and used for almost as long as computing has been . done DSLs are very common in computing : examples include CSS , regular expressions , make , ant , SQL , many bits of Rails , expectations in JMock , graphviz's dot language , strut's configuration file

  • team organization

    Updated: 2022-12-14 02:23:51
    Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon tagged by : team organization Remote versus Co-located Work There isn't a simple dichotomy of remote versus co-located work , instead there are several patterns of distribution for teams each of which has different trade-offs and effective techniques suitable for them . While it's impossible to determine conclusive evidence , my sense is that most groups are more productive working in a co-located manner . But you can build a more productive team by using a distributed working model , because it gives you access to a

  • enterprise architecture

    Updated: 2022-12-14 02:23:51
    Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon tagged by : enterprise architecture Products Over Projects Software projects are a popular way of funding and organizing software development . They organize work into temporary , build-only teams and are funded with specific benefits projected in a business case . Product-mode instead uses durable , ideate-build-run teams working on a persistent business issue . Product-mode allows teams to reorient quickly , reduces their end-to-end cycle time , and allows validation of actual benefits by using short-cycle iterations

  • application architecture

    Updated: 2022-12-14 02:23:51
    Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon tagged by : application architecture Microservices Guide The microservice architectural pattern is an approach to developing a single application as a suite of small services , each running in its own process and communicating with lightweight mechanisms , often an HTTP resource API . These services are built around business capabilities and independently deployable by fully automated deployment machinery . There is a bare minimum of centralized management of these services , which may be written in different programming

  • UbiquitousLanguage

    Updated: 2022-12-14 02:23:45
    Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon UbiquitousLanguage 31 October 2006 Martin Fowler domain driven design Ubiquitous Language is the term Eric Evans uses in Domain Driven Design for the practice of building up a common , rigorous language between developers and users . This language should be based on the Domain Model used in the software hence the need for it to be rigorous , since software doesn't cope well with . ambiguity Evans makes clear that using the ubiquitous language in conversations with domain experts is an important part of testing it , and

  • technical debt

    Updated: 2022-12-14 02:23:34
    Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon tagged by : technical debt Is High Quality Software Worth the Cost A common debate in software development projects is between spending time on improving the quality of the software versus concentrating on releasing more valuable features . Usually the pressure to deliver functionality dominates the discussion , leading many developers to complain that they don't have time to work on architecture and code quality . This debate is based on the assumption that increasing quality also increases costs , which is our common

  • tools

    Updated: 2022-12-14 02:23:34
    Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon tagged by : tools Thoughts writing a Google App script A google sheets script is a handy way to share a short script for . non-programmers by Martin Fowler 13 Oct 2020 Read more article tools Using a command line script to export from OmniGraffle A quick post on how I did the export script using AppleScript and Ruby by Martin Fowler 21 Aug 2018 Read more article tools Setting up a ruby development VM with Vagrant , Chef , and rbenv Some notes from my experiences in setting up a Vagrant VM to help collaborators use my web

  • continuous delivery

    Updated: 2022-12-14 02:23:32
    Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon tagged by : continuous delivery Continuous Delivery Guide It 2019 s hard enough for software developers to write code that works on their machine . But even when that 2019 s done , there 2019 s a long journey from there to software that 2019 s producing value since software only produces value when it 2019 s in production . he essence of my philosophy to software delivery is to build software so that it is always in a state where it could be put into production . We call this Continuous Delivery because we are

  • process theory

    Updated: 2022-12-14 02:23:32
    Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon tagged by : process theory The New Methodology After my positive experiences with Extreme Programming in the 90s , I became curious about similar sounding approaches such as Scrum , Crystal , and DSDM . Digging into them , I distilled the common characteristics of these new methodologies : preferring adaptive planning to predictive planning , and treating people as more important to success than what process was used . In time these approaches gathered under the banner of agile software development , and I revised the

  • collaboration

    Updated: 2022-12-14 02:23:31
    Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon tagged by : collaboration On Pair Programming Many people who work in software development today have heard of the practice of pair programming , yet it still only has patchy adoption in the industry . One reason for its varying acceptance is that its benefits are not immediately obvious , it pays off more in the medium- and long-term . And it's also not as simple as two people working at a single computer so many dismiss it quickly when it feels uncomfortable . However , in our experience , pair programming is vital for

  • refactoring

    Updated: 2022-12-14 02:23:31
    Refactoring Agile Architecture About Thoughtworks Topics Architecture Refactoring Agile Delivery Microservices Data Testing DSL about me About Books FAQ content Videos Content Index Board Games Photography Thoughtworks Insights Careers Products follow Twitter RSS Mastodon tagged by : refactoring Refactoring Guide Refactoring is a disciplined technique for restructuring an existing body of code , altering its internal structure without changing its external behavior . Its heart is a series of small behavior preserving transformations . Each transformation called a refactoring does little , but a sequence of these transformations can produce a significant restructuring . Since each refactoring is small , it's less likely to go wrong . The system is kept fully working after each refactoring ,

Current Feed Items | Previous Months Items

Nov 2022